package com.fish.common.result;

import lombok.Getter;

/**
 * 响应状态码枚举
 */
@Getter
public enum ResultCode {
    
    /**
     * 成功
     */
    SUCCESS(200, "操作成功"),
    
    /**
     * 失败
     */
    ERROR(500, "操作失败"),
    
    /**
     * 参数错误
     */
    PARAM_ERROR(400, "参数错误"),
    
    /**
     * 未授权
     */
    UNAUTHORIZED(401, "未授权，请先登录"),
    
    /**
     * 禁止访问
     */
    FORBIDDEN(403, "禁止访问"),
    
    /**
     * 资源不存在
     */
    NOT_FOUND(404, "资源不存在"),
    
    /**
     * 用户已存在
     */
    USER_EXIST(1001, "用户已存在"),
    
    /**
     * 用户不存在
     */
    USER_NOT_EXIST(1002, "用户不存在"),
    
    /**
     * 密码错误
     */
    PASSWORD_ERROR(1003, "密码错误"),
    
    /**
     * 用户被禁用
     */
    USER_DISABLED(1004, "用户已被禁用"),
    
    /**
     * Token无效
     */
    TOKEN_INVALID(2001, "Token无效"),
    
    /**
     * Token过期
     */
    TOKEN_EXPIRED(2002, "Token已过期"),

    DATA_NOT_EXIST(3001, "数据不存在");
    
    private final Integer code;
    private final String message;
    
    ResultCode(Integer code, String message) {
        this.code = code;
        this.message = message;
    }
}